#ifndef __GEEK_COMMANDER_MSGMASK_H_INCLUDED_62FEAB38_D7ED_460b_9FDE_42E0DD5971D6__
#define __GEEK_COMMANDER_MSGMASK_H_INCLUDED_62FEAB38_D7ED_460b_9FDE_42E0DD5971D6__

struct geek_msgmask
{
    HANDLE evt;
    volatile LONG mask;
};

bool geek_msgmask_create(geek_msgmask *msgmask);
void geek_msgmask_destroy(geek_msgmask *msgmask);

bool geek_msgmask_send(geek_msgmask *msgmask, LONG messages);
bool geek_msgmask_recv(geek_msgmask *msgmask, LONG *message);
bool geek_msgmask_peek(geek_msgmask *msgmask, LONG *message);

#endif // __GEEK_COMMANDER_MSGMASK_H_INCLUDED_62FEAB38_D7ED_460b_9FDE_42E0DD5971D6__
